package com.wj.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hospital.common.dto.message.module.*;
import com.hospital.common.pojo.TMessage;
import com.hospital.common.vo.message.module.FindUserReplayMessageVo;
import com.hospital.common.vo.message.module.GetJumpParamsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 消息表 Mapper 接口
 * </p>
 *
 * @author author
 * @since 2025-09-28
 */
public interface TMessageMapper extends BaseMapper<TMessage> {

    Integer addAdminMessage(AddAdminMessageDto addAdminMessageDto);

    List<TMessage> findAdminMessage(FindAdminMessageDto findAdminMessageDto);

    Long findAdminMessageCount();

    Long addMessage(TMessage addMessageDto);

    List<TMessage> findExamineMessage(FindExamineMessageDto findExamineMessageDto);

    TMessage findOneExamineMessage(Long id);
    Long findExamineMessageCount(FindExamineMessageDto findExamineMessageDto);

    List<FindUserReplayMessageVo> findUserReplayMessage(FindUserReplayMessageDto findUserReplayMessageDto);
    FindUserReplayMessageVo findOneUserReplayMessage(Long id);
    Long findUserReplayMessageCount(FindUserReplayMessageDto findUserReplayMessageDto);

    Integer readMessage(Long messageId);

    Integer readAllMessage(@Param("userId") Long userId
            ,@Param("messageType") Integer messageType);

    GetJumpParamsVo getJumpParams(Long metaId);

    Integer deleteMessage(@Param("messageIds") Long messageIds);


}
